package com.zjuee.base.model.common.ledger;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjuee.base.model.Description;
import lombok.*;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 产生台账明细表
 *
 * @author wu liang
 * @since 1.0
 */
@Data
@TableName("wk_ledger_produce_bill")
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class LedgerProduceBill extends Description {

    /**
     * 企业ID
     */
    private Long bciId;

    /**
     * 计划ID
     */
    private Long wpiId;

    /**
     * 产生台账汇总表ID
     */
    private Long wlpgId;

    /**
     * 联单ID
     */
    private Long wosdId;;

    /**
     * 联单编号
     */
    @TableField(exist = false)
    private String wlpbOrderCode;

    /**
     * 台账来源 1：手动填报 2：危废联单 3：固废联单 4：跨省联单
     */
    private Integer wlpbFrom;
    /**
     * 台账来源 -中文
     */
    @TableField(exist = false)
    private String wlpbFromStr;

    /**
     * 废物大类别  11：危废  21：固废
     */
    private Integer wlpbModel;

    /**
     * 废物大类别 -中文
     */
    @TableField(exist = false)
    private String wlpbModelStr;

    /**
     * 废物小类别  11：危废  12：医废  21：固废 22：大宗固废
     */
    private Integer wlpbType;
    /**
     * 废物小类别 -中文
     */
    @TableField(exist = false)
    private String wlpbTypeStr;

    /**
     * 废物大类
     */
    private String wlpbBcode;

    /**
     * 废物小类
     */
    private String wlpbScode;

    /**
     * 废物名称(计划中手动输入名称)
     */
    private String wlpbName;

    /**
     * 联单填写时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd" ,timezone = "GMT+8")
    private Date wlpbOrderTime;

    /**
     * 产生量(吨)
     */
    private BigDecimal wlpbProduce;

    /**
     * 自行处置量(吨)
     */
    private BigDecimal wlpbDispose;

    /**
     * 委托处置量(吨)
     */
    private BigDecimal wlpbTrustDispose;

    /**
     * 当前库存量(吨)
     */
    private BigDecimal wlpbStock;

    /**
     * 备注
     */
    private String wlpbRemark;

    /**
     * 创建人
     */
    private String wlpbCreator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date wlpbCreateTime;

    /**
     * 修改人
     */
    private String wlpbModifier;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date wlpbModifiedTime;


    /**
     * 开始时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date startTime;
    /**
     * 结束时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date endTime;


}
